package com.zmn.plat.persistence.interfaces.orderconfig.orderstock.sp;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.zmn.plat.model.entity.orderconfig.orderstock.sp.SpConfigClose;
import com.zmn.plat.model.entity.orderconfig.orderstock.sp.SpConfigCloseQuery;

/**
 * 描述: 服务商库存配置：关闭日期数据库访问
 *
 * @author tanghongjun
 * @since 2020-03-17 10:29:08
 **/
public interface SpConfigCloseDao {
    /**
     * 描述: SpConfigClose key 查询数据
     *
     * @param id
     * @return: SpConfigClose
     * @auther: tanghongjun
     * @since: 2020年3月17日16:53:38
     */
    SpConfigClose findByKey(Integer id);

    /**
     * 描述: 根据服务商库存配置ID集合查询关闭日期数据
     *
     * @param configIdList
     * @return: List<SpConfigClose>
     * @auther: tanghongjun
     * @since: 2020年3月17日16:53:38
     */
    List<SpConfigClose> listByConfigIdList(@Param("configIdList") List<Integer> configIdList);

    /**
     * 描述: 根据查询条件分页查询
     *
     * @param query
     * @return: List<SpConfigClose>
     * @auther: tanghongjun
     * @since: 2020年3月17日16:53:38
     */
    List<SpConfigClose> listPageByQuery(SpConfigCloseQuery query);

    /**
     * 描述: 根据查询条件查询所有数据
     *
     * @param query
     * @return: List<SpConfigClose>
     * @auther: tanghongjun
     * @since: 2020年3月17日16:53:38
     */
    List<SpConfigClose> listByQuery(SpConfigCloseQuery query);

    /**
     * 描述: 根据查询条件统计满足条件的数据条数
     *
     * @param query
     * @return: Integer
     * @auther: tanghongjun
     * @since: 2020年3月17日16:53:38
     */
    Integer countByQuery(SpConfigCloseQuery query);

    /**
     * 描述: 根据主键修改数据
     *
     * @param spConfigClose
     * @return: 执行结果码
     * @auther: tanghongjun
     * @since: 2020年3月17日16:53:38
     */
    Integer updateByKey(SpConfigClose spConfigClose);

    /**
     * 描述: 新增数据
     *
     * @param spConfigClose
     * @return: 执行结果码
     * @auther: tanghongjun
     * @since: 2020年3月17日16:53:38
     */
    Integer insert(SpConfigClose spConfigClose);

    /**
     * 描述: 批量新增数据
     *
     * @param list
     * @return
     * @auther: xiangjunming
     * @since: 2020年3月17日16:53:38
     */
    Integer insertBatch(List<SpConfigClose> list);

    /**
     * 描述: 根据主键删除数据
     *
     * @param id
     * @return: 执行结果码
     * @auther: tanghongjun
     * @since: 2020年3月17日16:53:38
     */
    Integer deleteByKey(Integer id);
}
